AngularJS ডেটা বাইন্ডিং
AngularJS-এ ডেটা বাইন্ডিং হল মডেল এবং ভিউ এর মধ্যে সিঙ্ক্রোনাইজেশন।
টিপ:
AngularJS অ্যাপ্লিকেশনের সাধারণত একটি ডেটা মডেল থাকে। এই ডেটা মডেল হল অ্যাপ্লিকেশনের জন্য উপলব্ধ ডেটা সংগ্রহ।
ডেটা মডেল
একটি ডেটা মডেল একটি অ্যাপ্লিকেশনের জন্য উপলব্ধ ডেটার একটি সংগ্রহ।
উদাহরণ
JavaScript Code:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstname = "John";
$scope.lastname = "Doe";
});
এইচটিএমএল ভিউ
একটি AngularJS অ্যাপ্লিকেশনে একটি ধারক থাকে যাকে একটি ভিউ বলা হয় যাতে প্রদর্শিত HTML থাকে।
ভিউটির মডেলটিতে অ্যাক্সেস রয়েছে এবং ভিউতে মডেল ডেটা প্রদর্শন করার বিভিন্ন উপায় রয়েছে:
ng-বাইন্ড নির্দেশিকা
একটি উপাদানের অভ্যন্তরীণ এইচটিএমএলকে একটি নির্দিষ্ট মডেল সম্পত্তিতে আবদ্ধ করতে:
<p ng-bind="firstname"></p>
Double Braces {{ }}
একটি মডেল থেকে সামগ্রী প্রদর্শন করতে:
<p>First name: {{firstname}}</p>
ng-মডেল নির্দেশিকা
এইচটিএমএল কন্ট্রোলের (ইনপুট, সিলেক্ট, টেক্সটেরিয়া) ভিউতে মডেল থেকে ডেটা আবদ্ধ করতে ng-মডেল নির্দেশিকা ব্যবহার করুন।
উদাহরণ
<input ng-model="firstname">
এনজি-মডেল নির্দেশিকা মডেল এবং ভিউয়ের মধ্যে দ্বি-মুখী আবদ্ধতা প্রদান করে।
দ্বিমুখী বাঁধাই
AngularJS-এ ডেটা বাইন্ডিং হল মডেল এবং ভিউ এর মধ্যে সিঙ্ক্রোনাইজেশন।
যখন মডেলে ডেটা পরিবর্তিত হয়, দৃশ্যটি সেই পরিবর্তনকে প্রতিফলিত করে এবং যখন ভিউতে ডেটা পরিবর্তন হয়, মডেলটিও আপডেট হয়।
এটি অবিলম্বে এবং স্বয়ংক্রিয়ভাবে ঘটে, যা নিশ্চিত করে যে মডেল এবং ভিউ সর্বদা আপ টু ডেট।
সম্পূর্ণ উদাহরণ
HTML:
<div ng-app="myApp" ng-controller="myCtrl">
Name: <input ng-model="firstname">
<h1>{{firstname}}</h1>
</div>
JavaScript:
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstname = "John";
$scope.lastname = "Doe";
});
</script>
AngularJS কন্ট্রোলার
AngularJS-এ অ্যাপ্লিকেশনগুলি কন্ট্রোলার দ্বারা নিয়ন্ত্রিত হয়।
মডেল এবং ভিউয়ের তাত্ক্ষণিক সিঙ্ক্রোনাইজেশনের কারণে, নিয়ামকটিকে দৃশ্য থেকে সম্পূর্ণ আলাদা করা যায় এবং শুধুমাত্র মডেল ডেটাতে ফোকাস করা যায়।
AngularJS-এ ডেটা বাইন্ডিংয়ের জন্য ধন্যবাদ, ভিউটি কন্ট্রোলারে করা যেকোনো পরিবর্তন প্রতিফলিত করবে।
উদাহরণ
HTML:
<div ng-app="myApp" ng-controller="myCtrl">
<h1 ng-click="changeName()">{{firstname}}</h1>
</div>
JavaScript:
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstname = "John";
$scope.changeName = function() {
$scope.firstname = "Nelly";
}
});
</script>
ব্যায়ামের মাধ্যমে শেখা
AngularJS-এ মডেল ডেটা প্রদর্শনের জন্য নিচের কোন পদ্ধতি ব্যবহার করা হয়?
গুরুত্বপূর্ণ নোট:
AngularJS-এ দ্বি-মুখী ডেটা বাইন্ডিং হল মডেল এবং ভিউয়ের মধ্যে স্বয়ংক্রিয় সিঙ্ক্রোনাইজেশন। এটি কন্ট্রোলার লজিককে ভিউ থেকে আলাদা করতে সাহায্য করে।
বাঁধাই পদ্ধতির তুলনা
| পদ্ধতি | টাইপ | আবেদন | উদাহরণ |
|---|---|---|---|
| ng-model | Two-way | Form elements | <input ng-model="name"> |
| ng-bind | One-way | Element content | <p ng-bind="name"></p> |
| {{ }} | One-way | Text interpolation | <p>{{name}}</p> |